package com.wfh.easychat.model.enums;

import cn.hutool.core.util.ObjectUtil;
import lombok.Getter;

/**
 * @Title: UserContactTypeEnum
 * @Author wangfenghuan
 * @Package com.wfh.easychat.model.enums
 * @Date 2025/9/26 14:31
 * @description: 好友类型枚举
 */
@Getter
public enum UserContactTypeEnum {

    /**
     * 好友类型枚举
     */
    USER(0, "user", "好友"),
    GROUP(1, "group", "群");

    private final Integer type;
    private final String value;  // 修正拼写
    private final String desc;

    UserContactTypeEnum(Integer type, String value, String desc) {
        this.type = type;
        this.value = value;  // 修正拼写
        this.desc = desc;
    }

    /**
     * 根据 value 获取枚举
     */
    public static UserContactTypeEnum getByValue(String value) {
        if (ObjectUtil.isEmpty(value)) {
            return null;
        }
        for (UserContactTypeEnum typeEnum : UserContactTypeEnum.values()) {
            if (value.equals(typeEnum.getValue())) {  // 修正方法名
                return typeEnum;
            }
        }
        return null;
    }

    /**
     * 根据 type（Integer）获取枚举
     */
    public static UserContactTypeEnum getByType(Integer type) {
        if (ObjectUtil.isEmpty(type)) {
            return null;
        }
        for (UserContactTypeEnum typeEnum : UserContactTypeEnum.values()) {
            // 补全逻辑
            if (type.equals(typeEnum.getType())) {
                return typeEnum;
            }
        }
        return null;
    }
}